<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // axios({
      //   url: '地址',
      //   method: 'get',
      // })
      //   .then()
      //   .catch()

      // axios的原理：Promise+xhr
      function myAxios(options) {
        console.log(options)
        let { url, method = 'get', data, params } = options
        console.log(params)
        // 把params对象转换成键值对的字符串
        // {spoken:'你好，吃早饭了吗',name:'张三'}
        // =>'http://ajax-api.itheima.net/api/robot?spoken=你好，吃早饭了吗&name=张三'
        let arr = []
        if (method === 'get') {
          // 发起的如果是get请求
          for (const key in params) {
            console.log(key)
            console.log(params[key])
            console.log(`${key}=${params[key]}`)
            arr.push(`${key}=${params[key]}`)
            console.log(arr)
          }
        }
        console.log(arr.join('&'))
        url += `?${arr.join('&')}`
        console.log(url)
        return new Promise((resolve, reject) => {
          // 发起请求（xhr）
          const xhr = new XMLHttpRequest()
          xhr.open(
            method,
            url
            // 'http://ajax-api.itheima.net/api/robot?spoken=你好，吃早饭了吗&name=张三'
          )
          xhr.setRequestHeader('content-type', 'application/json')
          xhr.addEventListener('load', function () {
            // console.log(xhr.response)
            resolve(xhr.response)
          })
          xhr.send(JSON.stringify(data))
        })
      }
      // 机器人接口
      myAxios({
        url: 'http://ajax-api.itheima.net/api/robot',
        method: 'get',
        params: {
          spoken: '你好，吃早饭了吗',
          name: '张三',
        },
      }).then((res) => {
        console.log(res)
      })
      // 添加图书
      // myAxios({
      //   url: 'http://ajax-api.itheima.net/api/books',
      //   method: 'post',
      //   data: {
      //     bookname: '水浒传',
      //     author: '施耐庵',
      //     publisher: '人民出版社',
      //   },
      // }).then((res) => {
      //   console.log(res)
      // })
      // 修改图书
      // myAxios({
      //   url: 'http://ajax-api.itheima.net/api/books/2479',
      //   method: 'put',
      //   data: {
      //     bookname: '我在修改图书',
      //     author: '施耐庵',
      //     publisher: '人民出版社',
      //   },
      // }).then((res) => {
      //   console.log(res)
      // })
      // 删除图书
      // myAxios({
      //   url: 'http://ajax-api.itheima.net/api/books/2485',
      //   method: 'DELETE',
      // }).then((res) => {
      //   console.log(res)
      // })
    </script>
  </body>
</html>
